package com.hotai.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hotai.comment.pojo.CoursewareStudent;
import com.hotai.vo.account.*;
import com.hotai.vo.tongji.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.*;

@Mapper
public interface CoursewareStudentMapper extends BaseMapper<CoursewareStudent> {
    Integer xueshi(@Param("query") XuekernelPage xuekernelPage);

    XueTong TearShi();

    List<Map<String, Object>> tongTear();

    ArrayList<TSho>  ShoT();

    ArrayList<TSho> ShoCour();

    ArrayList<CoursewaretList> courTong(@Param("query") CoursewareTong queryware);

    TeaShu shipin();

    ArrayList<SubjectTong> tongWareShu(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<SubjectTong> tongWareShi(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<SubjectTong> tongWarePin(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<SubjectTong> tongWareTshu();

    List<Map<String, Object>> tongStu();

    ArrayList<SubjectTong> tongWareDu();

    ArrayList<SubjectTong> tongWareWanDu();

    void deleteId(@Param("id") Integer id);

    ArrayList<AccountList> accountfind(@Param("query") AccountPage accountPage);

    ArrayList<AccountList> findWeek(@Param("query") AccountPage accountPage);

    ArrayList<SubjectTong> tongXueShu(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<AccountWee> acourWeek(@Param("query") AccountPage accountPage);

    ArrayList<AccountPeriod> findPeriod(@Param("query") AccountPage accountPage);

    ArrayList<AccountTeachList> TearPeriod(@Param("query") AccountTeach accountPage);

    ArrayList<Integer> CourseCount(@Param("query") AccountTeach accountPage);

    ArrayList<String> SubjectCount(@Param("query") AccountTeach accountPage);

    ArrayList<HashMap<String, Object>> teachCount(@Param("query") AccountTeach accountPage);

    ArrayList<AccountSuject> Subjectshi(@Param("query") AccountTeach accountPage);

    Date modeth(@Param("query")   AccountPage accountPage);

    ArrayList<AccountWarewx> wxbao(@Param("query") AccountWarewxPer accountWarewxPer);

    Date wxbaoDate(@Param("query")   AccountWarewxPer accountWarewxPer);

    Integer wxbaoTime(@Param("query")  AccountWarewxPer accountWarewxPer);

    Integer wxbaoWare(@Param("query") AccountWarewxPer accountWarewxPer);

    Integer xueCount(@Param("query") XuekernelPage  xuekernelPage);

    Integer accomplishCount(@Param("query") XuekernelPage xuekernelPage);

    Integer always();

    Integer alwaysAvg();

    List<Map<String, Object>> tongSturevision(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<TSho> proSho(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<TSho> proShoCour(@Param("query") XuekernelPage xuekernelPage);

    ArrayList<TSho> proShoCourLou(@Param("query") XuekernelPage xuekernelPage);
}
